In order to accomplish a certain task, robots or other devices may need to perform operations in multiple modes. One mode (for example, walking) may impose one set of constraints on the configuration of the robot while another mode (for example, pushing) may impose another set of constraints on the configuration of the robot. Such multi-modal planning is found in many areas of robotics including legged locomotion and reconfigurable robots.
Algorithms for planning single-mode motions may not be suitable for planning multi-modal operations. Single-mode planning methods assume that all the motions of robots or devices are subject to the same set of constraints. Effective single-mode motion planning methods such as probabilistic roadmap (PRM) methods are currently available to obtain efficient paths to reach the target configuration of robots. In multi-modal planning, however, not only the motions within each mode but also transition configurations between two adjacent modes must be decided. The transition configuration is a configuration that the robot takes before transitioning from one mode to another mode. In multi-modal operations, transition from one mode to another mode must be made via the transition configuration. The choice of the transition configuration also significantly impacts the effectiveness of overall path to the target configuration. Conventional single-mode planning methods, however, are not effective in producing effective transition configurations.
In mutimodal operations, there may be multiple transition configurations or a continuous set of transition configurations for transitioning from one mode to another mode. One way of addressing the continuous set of transition configurations is to discretized the continuation set of transition configurations and expand path searches from the discretized transition configurations. If the discretization of the transition configurations is too sparse, transition configurations leading to the target configuration may be missed. In such case, a path to the target configuration may not be obtained from the discretized points of transition configurations. Conversely, if the discretization is too dense, excessive resources may be needed to conduct searches for the path of configurations.
Pushing operation is a useful form of manipulation that involves multi-modal motion planning. In a humanoid robot, for example, the robot may first walk (a first mode) to the table, reach its arm (a second mode) toward the object, and then push (a third mode) the object to a certain location. Even for a simple pushing task, the robot may need to perform a number of pushes. Between the pushes, the robot may need to reach or retract its arm, switch hands, or walk to a new location while satisfying various sets of constraints. Further, some pushes may be irreversible because of limited reach of the manipulators and other constraints on the configuration of the robots or devices. For these reasons and others, pushing motions need to be planned carefully to achieve a target objective.